#pragma once

#include "zen_game_node.h"
#include "zen_game_camera.h"
#include "zen_point.h"
#include <vector>
#include <mutex>

namespace Zen
{
	namespace Game
	{
		class Group : public Node
		{
		public:
			virtual void OnReady(std::shared_ptr<RenderStack>, float interval) override;
			virtual void OnDraw() override;
		};

		class Scene : public Group
		{
		public:
			Scene();

			std::shared_ptr<Camera> GetCamera();

			virtual void OnReady(std::shared_ptr<RenderStack>, float interval) override;
			virtual void OnDraw() override;

		protected:
			std::shared_ptr<Camera> mCamera;
		};

	} // namespace Game
} // namespace Zen
